Виртуальные частные сети — это технология подключения в сеть, при котором происходит шифрование данных. Подключение к такой сети происходит поверх обычного соединения. Среди преимуществ их использования — безопасное подключение к общественным Wi-Fi-сетям и не только, а также дополнительный уровень безопасности и защиты данных при использовании облачных сервисов.
WireGuard — это протокол, разработанный с целью обеспечения безопасной и эффективной передачи данных в интернете. Как заявляет разработчик, он чрезвычайно простой, но в то же время быстрый и инновационный. Изначально он был доступен только для ОС семейства Linux, но немногим позже стал кроссплатформенным. Ниже перечислим основные его преимущества:
В настоящей статье будет представлена подробная пошаговая инструкция по установке сети WireGuard, включая дальнейшую его настройку со стороны сервера и со стороны пользователей. Все действия будут выполнены на облачном сервере нашей компании, который вы можете заказать по этой ссылке.
В статье, для поднятия сервера WireGuard, была выбрана Ubuntu 22.04. Клиентская версия данного ПО будет установлена на Windows 10.
А если не хочется заниматься ручной настройкой — в Timeweb Cloud вы можете заказать сервер с готовым образом WireGuard. Сервер будет установлен и настроен автоматически, и вам останется только настроить подключение.
Шаг 1. Чтобы поднять свой WireGuard, необходимо в первую очередь выполнить подключение к своему облачному серверу, используя протокол SSH. Команда для подключения представлена ниже:
ssh user_name@Server_IP-address
Если возникнут сложности, вы можете воспользоваться нашей инструкцией, чтобы правильно произвести подключение.
cloud
Шаг 2. Как только подключение будет выполнено, переходим к следующему шагу — обновлению существующих пакетов apt
. Для этого в терминале выполним следующую команду:
sudo apt update
После начнется процесс обновления пакетов, который продемонстрирован на картинке ниже.
Шаг 3. Как только все пакеты будут обновлены, начинаем загрузку собственного WireGuard. Вводим в терминал системы команду, представленную ниже:
sudo apt install wireguard
После выполнения команды начнется процесс установки. На все вопросы системы во время скачивания отвечаем утвердительно.
Шаг 4. Как только закончится скачивание всех файлов, переходим в главный каталог устанавливаемого ПО. Он находится по следующему адресу:
cd /etc/wireguard/
Это нужно для того, чтобы дальнейшая настройка сервера, включая создание ключей и редактирование конфига, происходила именно в каталоге установленного сервиса. Здесь будут храниться все создаваемые ключи сервера и его пользователей, а также главный конфиг, которые мы будем рассматривать немного позже.
Шаг 5. На данном этапе мы приступаем к созданию пары ключей для нашего сервера, которые будут нужны для настройки безопасного соединения. Сделать это возможно способом, представленным ниже:
wg genkey | tee /etc/wireguard/server_privatekey | wg pubkey | tee /etc/wireguard/server_publickey
Опишем ключевые элементы команды:
wg genkey
— отвечает за генерацию закрытого ключа;wg pubkey
— отвечает за генерацию открытого ключа;|
— в первом и третьем случае служит для передачи ключа команде tee
. Второе использование |
необходимо для генерации открытого ключа на основе ранее полученного закрытого;tee
— записывает значения ключей в указанные после команды файлы.Как итог, мы получим пару ключей, которые потребуются для последующей конфигурации сервера.
Чтобы изучить содержимое файлов с ключами, вводим в строку терминала:
cat server_privatekey
cat server_publickey
Как видно по картинке ниже, пара ключей успешно сгенерирована.
На данном этапе также нужно выполнить копирование приватного ключа. Он понадобится при настройке сервера WireGuard в следующем шаге.
Шаг 6. От правильной настройки главного конфигурационного файла сервера зависит успешность его дальнейшей работы. Сюда входят следующие настройки:
Перед началом редактирования конфига, определим имя своего сетевого интерфейса. В строку терминала напишем:
ip a
В результате будет выведен список интерфейсов, среди которых нужно найти тот, что имеет IP-адрес текущего подключения.
Чтобы создать свой сервер WireGuard, перейдем к редактированию конфига:
sudo nano wg0.conf
Ниже приведем синтаксис данных в файле, достаточный для запуска:
[Interface]
PrivateKey = <закрытый_ключ>
Address = <IP-адрес_сервера>
ListenPort = <Порт>
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o <Интерфейс> -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o <Интерфейс> -j MASQUERADE
Порядок заполненных данных соответствует порядку списка, который мы приводили в начале этого шага.
В данной конфигурации:
PrivateKey
— закрытый ключ сервера. Его можно получить из файла server_privatekey
. О том, как это сделать, мы говорили в прошлом шаге.
Address
— внутренний IP-адрес для интерфейса WireGuard. Например,10.0.0.1/24. Он должен быть уникальным и не конфликтовать с другими IP-адресами в вашей сети.
ListenPort
— это порт, на котором сервер WireGuard будет слушать входящие соединения. Обычно выбирают порты от 51820 до 51830, но можно использовать любой свободный. Убедитесь, что выбранный порт открыт в настройках вашего брандмауэра.
PostUp
— команды, выполняемые при запуске интерфейса. Они добавляют правила iptables для маршрутизации трафика через интерфейс WireGuard.
PostDown
— команды, выполняемые при остановке интерфейса. Эти команды удаляют правила iptables, добавленные в PostUp.
Шаг 7. Далее произведем настройку IP forwarding:
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
Затем сразу проверим внесенные изменения:
sysctl -p
Как видно по картинке выше, все прошло успешно.
Шаг 8. Заключительным шагом данного раздела будет настройка правил запуска.
Автозапуск сервера при включении системы настраивается следующим образом:
systemctl enable wg-quick@wg0.service
Для включения сервера, вводим в терминал:
systemctl start wg-quick@wg0.service
И наконец, чтобы проверить работу сервера:
systemctl status wg-quick@wg0.service
Как видно по картинке выше, сервер успешно запущен и функционирует. На этом шаге создание сервера WireGuard и его настройка окончена.
Шаг 1. Чтобы пользователь мог пользоваться только что созданным собственным сервером WireGuard, необходимо создать для него ключи. Выполнить это можно также на сервере.
Для этого воспользуемся ранее рассмотренной командой:
wg genkey | tee /etc/wireguard/user1_privatekey | wg pubkey | tee /etc/wireguard/user1_publickey
Чтобы в будущем не было путаницы, старайтесь называть файлы с ключами уникальными именами.
Сразу копируем открытый ключ пользователя. Он понадобится нам в следующем этапе.
Теперь в папке wireguard
находится 4 ключа и конфигурационный файл, как показано на рисунке ниже.
Шаг 2. Теперь, когда ключи созданы, переходим к доработке ранее созданного конфига сервера. Для этого открываем наш файл конфигурации:
nano wg0.conf
Нам нужно добавить настройки для соответствующего пользователя. Ниже представлен синтаксис этих настроек:
[Peer]
PublicKey = <Открытый_ключ_клиента>
AllowedIPs = <Разрешенный_IP_адрес_для_клиента>
AllowedIPs выбирается из того же диапазона IP, что был указан для сервера.
На картинке ниже приведен пример итогового файла конфигурации для сервера.
Шаг 3. После внесения всех изменений перезагружаем сервер WireGuard. Это нужно делать каждый раз при внесении корректировок в свой конфиг.
systemctl restart wg-quick@wg0
Шаг 4. Проверяем, что после внесенных изменений сервер успешно работает:
systemctl status wg-quick@wg0
Шаг 5. Переходим к установке необходимого ПО на компьютер клиента. Выполнить загрузку можно с сайта компании-разработчика.
Шаг 6. Теперь необходимо организовать пользовательский конфиг для подключения к серверу. Для этого на своем устройстве создадим специальный файл с расширением .conf
— его название может быть произвольным, например, wg.conf.
Синтаксис файла представлен ниже:
[Interface]
PrivateKey = <Закрытый_ключ_клента>
Address = <IP-адрес_клиента>
DNS = 8.8.8.8
[Peer]
PublicKey = <Публичный_ключ_сервера>
Endpoint = <IP-адрес_сервера>:<Порт>
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 20
В данной конфигурации:
PrivateKey
— закрытый ключ клиента. Его можно получить из файла user1_privatekey
.
Address
— внутренний IP-адрес клиента в подсети WireGuard. Например, 10.0.0.2/24, где IP-адрес должен быть уникальным в пределах вашей сети.
DNS
— DNS-сервер для использования клиентом. Например, 8.8.8.8 для использования DNS-серверов Google.
PublicKey
— публичный ключ сервера. Его можно получить из файла server_publickey
.
Endpoint
— внешний IP-адрес сервера и порт для подключения.
AllowedIPs
— разрешенные IP-адреса для маршрутизации через сервер. Строка AllowedIPs = 0.0.0.0/0
означает, что весь трафик будет маршрутизироваться через WireGuard. Так как мы указали именно такое значение AllowedIPs
, то в этом случае указываем DNS = 8.8.8.8
(8.8.8.8 — DNS-сервер Google), чтобы DNS-запросы выполнялись через защищенное соединение.
PersistentKeepalive
— интервал отправки keepalive -пакетов для поддержания соединения. Он указывается в секундах.
У вас рассмотренные параметры могут отличаться, в зависимости от поставленных целей.
На картинке ниже приведен пример итогового файла конфигурации для клиента.
Шаг 7. Следующим шагом загрузим только что созданный пользовательский конфиг в WireGuard. Для этого нажимаем на кнопку «Импорт туннелей из файла», как показано на рисунке ниже.
Шаг 8. После добавления файла перед вами откроется окно, в котором необходимо нажать кнопку «Подключить». После этого в поле «Статус» появится надпись «Подключен», если все было выполнено верно.
Настройте WireGuard на собственном облачном сервере
В данной статье мы представили подробную инструкцию по установке WireGuard на свой сервер: скачали соответствующее ПО, а затем провели полную настройку как серверной, так и клиентской части. Надеемся, что данная инструкция была полезна и вы с легкостью сможете настроить сервер для своих потребностей.
[Interface] PrivateKey = <закрытый_ключ> Address = <IP-адрес_сервера> ListenPort = <Порт> PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o <Интерфейс> -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o <Интерфейс> -j MASQUERADE
Получается что правило ACCEPT работает только для входящего траффика, для OUT нет, логично дописать его вот так, на IN и OUT
Interface] PrivateKey = <закрытый_ключ> Address = <IP-адрес_сервера> ListenPort = <Порт> PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o <Интерфейс> -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o <Интерфейс> -j MASQUERADE
Здравствуйте, я решил попробовать поставить WireGuard на ваш облочный сервер, но по какой-то, причине интернета просто нет, я делаю запуск через консоль, при помощи этой команды: sudo wg-quick up wg. После того как я ввел эту команду, то мой облачный сервер замерзает(может так и должно). Я делал все по инструкции, но вот после, мне нужно было не через приложение запускать, а через консоль, запускаю, соединение есть, но вот интернета нет
Добрый день! Эту статью вроде осилил, все получилось, спасибо! На выходе из туннеля имею ip vps'a. Однако осталось еще 2 критичных вопроса:
С ios вроде разобрался, там не сложно, прошел по инструкции (https://serversideup.net/generating-wireguard-qr-codes-for-fast-mobile-deployments/) , а вот с фильтрацией трафика РФ и не РФ вопрос остается открытым.
Здравствуйте. Как понять какой лимит подключений? На каких характеристиках в сервере нужно делать акцент, чтобы подключить к примеру 50-60 пользователей?
Добрый день!
Лимит подключений в WireGuard зависит исключительно от ресурсов сервера, встроенных ограничений на количество подключений в самом WireGuard нет.
Для подключения 50–60 пользователей подойдут следующие характеристики сервера:
Процессор: 2 ядра по 3.3 ГГц.
Оперативная память: 4 ГБ RAM.
Этих параметров должно хватить для указанного количества подключений. Если в процессе работы возникнут проблемы, можно рассмотреть увеличение процессорной мощности и объема оперативной памяти. Для начала вы можете выбрать конфигурацию с меньшими характеристиками и увеличивать их по мере необходимости.
День добрый. Настроил Все работает. Но возник вопрос. Клиенты друг друга не видят (ping не проходит). какую настройку нужно смотреть? Спасибо
Добрый день!
Убедитесь, что на сервере включен IP Forwarding. Это можно сделать командой:
Если IP Forwarding выключен, включите его, используя Шаг 7 из главы «Скачивание WireGuard и конфигурация серверной части».
Также убедитесь, что в конфигурации каждого клиента на сервере WireGuard указана подсеть, к которой относятся все клиенты. Например, если ваши клиенты находятся в подсети 10.0.0.0/24, в настройках каждого клиента на сервере должно быть:
Это позволит серверу маршрутизировать трафик между клиентами, и они смогут видеть друг друга.
Добрый день. Подскажите пожалуйста, несмотря на такую хорошую и подробную инструкцию, выполнить подключение не получилось.
Добрый день!
Проблема может быть связана с ограничениями со стороны интернет-провайдера. Также такая ситуация может возникать из-за ошибок в конфигурации. Для более точной диагностики лучше обратиться в поддержку — коллеги смогут проверить настройки и разобраться, почему соединение пропадает.
на 18.10.2024 с провайдерами Крыма wireguard отказывается работать. Outline настроилось и заработало без проблем.
UPD Outline отказался работать по мобильной сети. Снёс. Поставил амнезию. пока полёт нормальный.
Здравствуйте, такая ошибка Oct 15 12:25:54 3619225-pg71278.twc1.net systemd[1]: wg-quick@wg0.service: Main process exited, code=exited,> Oct 15 12:25:54 3619225-pg71278.twc1.net systemd[1]: wg-quick@wg0.service: Failed with result 'exit-code'. Oct 15 12:25:54 3619225-pg71278.twc1.net systemd[1]: Failed to start WireGuard via wg-quick(8) for wg0.
косяк в файл настройки скорее всего
Здравствуйте! Спасибо за такую подробную инструкцию. Подскажите, пожалуйста, почему при подключении клиента WireGuard к заданному туннелю выдаёт ошибку "Unable to configure adapter network settings", в журнале сбой: "Unable to configure adapter network settings: unable to set ips: The parameter is incorrect."?
Нашёл у себя ошибку в конфиге WG: в строке Endpoint указал двузначный порт (2.). Заменил на 5-значный (51...). Всё равно при подключении к туннелю выдает ту же ошибку. В журнале выдает следующее:
2024-10-12 12:53:51.746188: [TUN] [MSI] Starting WireGuard/0.5.3 (Windows 10.0.19045; amd64) 2024-10-12 12:53:51.746188: [TUN] [MSI] Watching network interfaces 2024-10-12 12:53:51.765863: [TUN] [MSI] Resolving DNS names 2024-10-12 12:53:51.765863: [TUN] [MSI] Creating network adapter 2024-10-12 12:53:52.396190: [TUN] [MSI] Using existing driver 0.10 2024-10-12 12:53:52.436420: [TUN] [MSI] Creating adapter 2024-10-12 12:53:55.080483: [TUN] [MSI] Using WireGuardNT/0.10 2024-10-12 12:53:55.080483: [TUN] [MSI] Enabling firewall rules 2024-10-12 12:53:54.156819: [TUN] [MSI] Interface created 2024-10-12 12:53:55.678007: [TUN] [MSI] Dropping privileges 2024-10-12 12:53:55.678007: [TUN] [MSI] Setting interface configuration 2024-10-12 12:53:55.680007: [TUN] [MSI] Peer 1 created 2024-10-12 12:53:55.696820: [TUN] [MSI] Monitoring MTU of default v6 routes 2024-10-12 12:53:55.685817: [TUN] [MSI] Sending keepalive packet to peer 1 (<внешний IP-адрес сервера и порт для подключения>) 2024-10-12 12:53:55.685817: [TUN] [MSI] Sending handshake initiation to peer 1 (<внешний IP-адрес сервера и порт для подключения>) 2024-10-12 12:53:55.696820: [TUN] [MSI] Interface up 2024-10-12 12:53:55.698818: [TUN] [MSI] Setting device v6 addresses 2024-10-12 12:53:55.890743: [TUN] [MSI] Receiving handshake response from peer 1 (<внешний IP-адрес сервера и порт для подключения>) 2024-10-12 12:53:55.890743: [TUN] [MSI] Keypair 1 created for peer 1 2024-10-12 12:53:55.977764: [TUN] [MSI] Monitoring MTU of default v4 routes 2024-10-12 12:53:55.977764: [TUN] [MSI] Setting device v4 addresses 2024-10-12 12:53:56.110123: [TUN] [MSI] Startup complete 2024-10-12 12:53:56.110123: [TUN] [MSI] Unable to configure adapter network settings: unable to set ips: The parameter is incorrect. 2024-10-12 12:53:57.259426: [TUN] [MSI] Shutting down 2024-10-12 12:53:57.469352: [MGR] [MSI] Tunnel service tracker finished
Добрый день, подскажите пожалуйста, выполнил все действия на ubuntu 22.04, после запуска команды "systemctl status wg-quick@wg0.service" - "Job for wg-quick@wg0.service failed because the control process exited with error code.", после запуска команды "systemctl status wg-quick@wg0.service" - "/usr/bin/wg-quick: line 295: Интерфейс: No such file or directory"
Добрый день!
Судя по описанию, проблема, скорее всего, связана с конфигурационным файлом
wg0.conf
. Рекомендуем выполнить следующие шаги:Перепроверьте блоки конфигурации, особенно секцию
[Interface]
. Убедитесь, что указаны все необходимые параметры (например,Address
,PrivateKey
), и ничего не пропущено.Проверьте наличие интерфейса
wg0
командой:Если интерфейса
wg0
нет в выводе команды, это подтверждает, что проблема может быть связана с его настройкой.wg0.conf
. Убедитесь, что файл доступен для чтения службой:нужно в конфиге заменить <Интерфейс> на название интерфейса, его можно глянуть по команде ip -a, у автора это enp0s3
Добрый день. Поднял Wireguard сервер на вашей площадке из шаблонов (локация Нидерланды). К сожалению, работает только через домашний WiFi. На смартфоне через моб. интернет и в других сетях Wireguard клиент подключается, но Интернета нет. Статистика клиента показывает, что пакеты отправляются, но принятые пакеты замирают на 92 B и не увеличиваются. Знакомый, ранее также поднял Wireguard сервер на вашей платформе с этой же локацией. Его подключается через любые сетки. Подскажите, пожалуйста, в чем может быть проблема с моим сервером? Спасибо.
Добрый день!
Проблема может возникать по множеству причин, и без дополнительной информации назвать точную причину сложно. Вот несколько вариантов, которые могут помочь:
– Проверьте логи WireGuard, чтобы выявить возможные ошибки:
– В некоторых случаях помогает изменение портов в конфигурации WireGuard.
Если вы проверяли конфигурацию вашего знакомого в той же мобильной сети и она работала корректно, попробуйте сравнить конфигурации. Возможно, у него используются какие-то специфические настройки.
Если конфигурация вашего знакомого также не работает в вашей мобильной сети, либо у вас нет возможности ее проверить, стоит обратиться в поддержку вашего мобильного оператора. Они могут подсказать, по какой причине может возникать эта проблема.
Вставьте в параметр PostUP строку iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE; iptables -A INPUT -p udp -m udp --dport 51820 -j ACCEPT; iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; А в параметр PostDown строку iptables -t nat -D POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE; iptables -D INPUT -p udp -m udp --dport 51820 -j ACCEPT; iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; У меня после этого заработало.
Здравствуйте! Подскажите, пожалуйста, как правильно добавить несколько клиентов? Спасибо!
Добрый день!
Для добавления нового пользователя в WireGuard выполните следующие шаги:
Эти команды создадут приватный ключ
user2_privatekey
и публичный ключuser2_publickey
./etc/wireguard/wg0.conf
на сервере и добавьте блок для нового клиента:Замените <Открытый_ключ_клиента> на публичный ключ, который вы сгенерировали, и укажите нужный IP-адрес для клиента в параметре
AllowedIPs
.На стороне нового клиента также необходимо создать конфигурацию. Она не отличается от той, что описана в статье, но важно указать приватный ключ, созданный для нового пользователя:
Теперь новый пользователь сможет подключиться к серверу.
Спасибо большое, все понятно теперь! у меня еще вопрос, можно ли мониторить пользователей, сколько трафика тратит каждый пользователь, подключен ли сейчас т.д.?
Добрый день!
Увидеть всех пользователей вы можете, выполнив команду на сервере:
Для каждого подключения будет указано:
—
transfer
: отображает объем трафика за все время. Если вам нужно получать информацию, например, за месяц, вы можете перезапускать службу раз в месяц.—
latest handshake
: время последнего подключения. По этому параметру можно определить, подключен ли клиент.Здравствуйте! А как ограничить входящую и исходящую скорости для некоторых клиентов по их Ip-адресам?
Отвечаю сам себе: всё-таки можно ограничить. Примерно вот так:
Здравствуйте!
Спасибо, что поделились! Ваш комментарий может очень помочь другим пользователям 🙌
Доброго дня! Не подскажите, адрес интерфейса Wireguard обязательно должен быть 10...? Нельзя назначить что-то из 192.168..*, то есть адрес из внутренней серой сети, с той разницей что два последних октета будут другими. Допустим адрес сервера - 192.168.50.50, а адрес интерфейса - 192.168.100.50
Добрый день!
Да, вы можете использовать адреса из диапазона 192.168.* для интерфейса WireGuard, поскольку этот диапазон относится к внутренним или "серым" IP-адресам, так же как и диапазон 10...*. Эти адреса предназначены для использования внутри локальных сетей и не маршрутизируются через интернет, поэтому для WireGuard они вполне подходят.
Единственное, что важно, — убедиться, что IP-адреса, которые вы назначаете, не пересекаются с существующими адресами в вашей локальной сети.
"Address — внутренний IP-адрес клиента в подсети WireGuard. Например, 10.0.0.2/24" - сами-то пробовали такой адрес назначить на чистом конфиге? У меня не заработало пока маску /32 не выставил.
Добрый день!
Маска /24 указывает на подсеть и обычно работает, если маршруты настроены корректно. Однако в некоторых конфигурациях могут возникать проблемы, особенно если происходит пересечение с другими сетями или если настроена неправильная маршрутизация. Маска /32 задаёт конкретный IP-адрес и используется для точного указания маршрута только к одному устройству, что помогает избежать подобных конфликтов. В вашем случае это решение помогло из-за особенностей вашей сети.
Подскажите пожалуйста, при такой настройке, я могу использовать один и тот же конфиг для подключения нескольких устройств одновременно (пк, ноут, телефон, роутер)?
Или надо создавать для каждого нового устройства свой конфиг?
Для безопасного и корректного использования WireGuard каждому устройству рекомендуется создавать отдельный конфигурационный файл.
Приношу извинения автору. Статья актуальна не для России. Некоторые провайдеры блокируют WireGuard, даже с нестандартным портом. Научились. Ростелеком блокирует.
Не правда, все прекрасно работает на Ростелекоме.
Статья не актуальна.
В результате будет выведен список интерфейсов, среди которых нужно найти тот, что имеет IP-адрес текущего подключения.
на скрине обозначен используемый интерфейс а конфигурируем wg0, это не опечатка?
Когда вы настраиваете WireGuard, вы создаете новый виртуальный сетевой интерфейс, который обычно называется
wg0
. Этот интерфейс используется исключительно для работы WireGuard и связан с конфигурацией туннеля, который вы настраиваете.На скриншоте показан другой сетевой интерфейс, связанный с нашим текущим интернет-соединением (например,
eth0
,wlan0
, и т.д.), который имеет IP-адрес, используемый для выхода в интернет. Этот интерфейс нужен для того, чтобы указать, через какой именно интерфейс будет проходить трафик, когда вы подключаетесь через WireGuard.Иными словами:
— Интерфейс с текущим IP-адресом используется для определения исходного соединения.
— Интерфейс
wg0
— это новый интерфейс, который вы создаете для работы WireGuard.Подскажите, как обновиться на новую версию без потери текущей конфигурации и пользователей?
Добрый день! Для обновления выполните следующее:
Шаг 1. Сделайте резервную копию текущих конфигурационных файлов. Скопируйте все конфигурационные файлы из директории
/etc/wireguard/
в безопасное место:В Windows откройте WireGuard и экспортируйте текущие конфигурации туннелей. Для этого выберите каждый туннель, нажмите правой кнопкой мыши и выберите "Export tunnel(s)".
Шаг 2. Скачайте последнюю версию WireGuard или обновите его с помощью команд:
Для Ubuntu/Debian:
Для CentOS/RHEL:
Шаг 3. Перезапустите WireGuard и убедитесь, что после обновления конфигурационные файлы остались на месте и не изменились. Если вы создали резервную копию на шаге 1, сравните файлы в
/etc/wireguard/
с резервной копией.Не работает интернет, делал как в статье, но при подключении нет интернета, где я мог ошибиться?
Добрый день! Работа протокола Wireguard может быть ограничена вашим провайдером интернета (уточнить можно в их поддержке). Вместо готовой сборки Wireguard можно попробовать другие решения, например, настройку Outline на своем сервере.
У вас тут ошибка: Вы пишите server_privatekey: wg genkey | tee /etc/wireguard/server_privatekey | wg pubkey | tee /etc/wireguard/server_publickey
А потом вызываете почему-то: cat server_privatekeyCAT. Из-за этого не находит приватный ключ.
Спасибо, исправили досадную опечатку.
я скачал wireguard tools на linux как мне добавить файл конфигурации из Шаг 7
Добрый день! Выполните следующее:
/etc/wireguard/
. Например, если ваш файл называетсяwg0.conf
, выполните команду:Не работает подключение по SSH, пишет Permission denied (publickey,password).
Добрый день! По поводу этой ошибки напишите, пожалуйста, в поддержку из своей панели управления — коллеги помогут разобраться.
Статья хорошая. Из того, чего мне не хватило и пришлось искать дополнительно, так это разъяснений где в конфигах прописываются "внутренние айпишники", а где внешний от сервера.
И что на арендуемом сервере уже установлен mc и не надо заморачиваться с окном терминала (как минимум он решает проблему просмотра ключей и конфига).
Спасибо за замечание! Расписали подробнее про элементы конфигов.
Не понятно откуда брать ListenPort для файла конфигурации?
51820 ставьте
Добрый день! Параметр ListenPort — это порт, на котором сервер WireGuard будет слушать входящие соединения. Обычно выбирают порты от 51820 до 51830, но можно использовать любой свободный. Убедитесь, что выбранный порт открыт в настройках вашего брандмауэра.
здравствуйте, я не совсем понял что вписывать в "IP-адрес_клиента" при создании конфига для подключения. Туда ружно адрес пк или телефона, верно?
Добрый день! Секция
[Interface]
описывает конфигурацию вашего устройства — клиента, который подключается к серверу WireGuard. ПараметрAddress
в этой секции указывает на IP-адрес (или диапазон IP-адресов), который будет назначен виртуальному сетевому интерфейсу WireGuard на вашем устройстве.Для частных сетей обычно используются следующие диапазоны IP-адресов:
10.0.0.0 до 10.255.255.255
172.16.0.0 до 172.31.255.255
192.168.0.0 до 192.168.255.255
Если вы настраиваете WireGuard только для одного устройства или для личного использования, вам необязательно нужен целый диапазон IP-адресов. Например:
Address = 10.0.0.2/32
Адрес выбирается так, чтобы он не пересекался с адресами других сетей, к которым ваше устройство может быть подключено, чтобы избежать путаницы и проблем с доставкой данных.
Крутая статья. Пробовал по другим инструкциям и ничего не работало. Сделал по этой все работает да и еще с обьяснением теперь хоть стало понятно. Спасибо! Единственное что не верно в этой команде:
нужно сделать вот так:
Путь идет маленькими буквами а не большими.
Спасибо за замечание, поправили пути. Очень рады, что инструкция помогла 💙
Мне дико "нравится", когда автор ближе к концу статьи просто отвалился и стало уже не понятно. Особенно, касаемо создания конфиг-файла для wg...
Спасибо за комментарий! Автор внес правки, чтобы описать настройку клиентской части подробнее. Если какие-то моменты остались неясными, дайте знать — тоже доработаем. Также напомним, что у нас есть готовая сборка с Wireguard :) Ее можно развернуть в Польше или Нидерландах в один клик, и все конфиги будут настроены автоматически.